﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ferreteria.Clases;

namespace Ferreteria.Forms.Gestion_de_Proveedores
{
    public partial class FrmAddArtCatalogoCompra : Form
    {
        DisancoEntities context;
        int ProvSeleccionado;
        Proveedores Prov;
        ArticulosdeCompra ArtCompra;
      
        public FrmAddArtCatalogoCompra(int ProvSelec)
        {
            InitializeComponent();
            ProvSeleccionado = ProvSelec;
        }
              
        private void btnAddArt_Click(object sender, EventArgs e)
        {
            {
                context = new DisancoEntities(Ferreteria.Clases.Constantes.cadenaConexion);

                ArticulosdeCompra art_compra = new ArticulosdeCompra();
                art_compra.artc_codigo = Convert.ToString(txtbArtcCodigo.Text);
                art_compra.artc_descripcion = Convert.ToString(txtbArtcDescripcion.Text);
                context.ArticulosdeCompra.AddObject(art_compra);
                context.SaveChanges();

                //DialogResult dr =  MessageBox.Show("Articulo agregado con Exito", "Disanco Sanitarios", MessageBoxButtons.OK, MessageBoxIcon.Information);

                //if (dr == System.Windows.Forms.DialogResult.OK)
                //  {
                      Prov = context.Proveedores.FirstOrDefault(a => a.prov_id == ProvSeleccionado);
                      ArtCompra = context.ArticulosdeCompra.FirstOrDefault(b => b.artc_id == art_compra.artc_id);
                      CatalogoProv newArtenCatalogo = new CatalogoProv();
                      newArtenCatalogo.catalogobonifart = numBonifArtc.Value / 100;
                      decimal descuento = (numBonifArtc.Value / 100);
                      newArtenCatalogo.catalogoprecioart = numPrecioArt.Value;
                      decimal PrecioArt = Convert.ToDecimal(numPrecioArt.Value);
                      newArtenCatalogo.catalogopreciobon = Funcion.SubtotDescuento(PrecioArt, descuento);
                      newArtenCatalogo.provid = Prov.prov_id;
                      newArtenCatalogo.artcid = ArtCompra.artc_id;
                      context.CatalogoProv.AddObject(newArtenCatalogo);
                      context.SaveChanges();
                      MessageBox.Show("Articulo agregado al Catalogo con Exito", "Disanco Sanitarios", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   
                  //}
                Limpiar();
                //this.Close();
                //Para Agregar el articulo junto con los demas datos directamente
               
                //numPrecio.Value = 0;
                //numBonif.Value = 0;
                //}
                //else
                //{
                //    MessageBox.Show("El articulo ya se encuentra en el Catalogo. No se pueden agregar articulos duplicados","Disanco Sanitarios",MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    numPrecio.Value = 0;
                //    numBonif.Value = 0;
                //}
                //btnLimpiar_Click(sender, e);
            }
        }

        private void Limpiar()
        {
            txtbArtcCodigo.Text = "";
            txtbArtcDescripcion.Text = "";
            numBonifArtc.Value = 0;
            numPrecioArt.Value = 0;
            txtbArtcDescripcion.Focus();
        }

        private void btnClose_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
